<?php

    include '../../controlador/php/conexion/Conexion.php';

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of DaoRotacion
 *
 * @author maospina
 */
class DaoRotacion {
    //put your code here
    
    private $Oid;
    private $OidEstudiante;
    private $OidServicio;
    
    function __construct($Oid, $OidEstudiante, $OidServicio) {
        $this->Oid = $Oid;
        $this->OidEstudiante = $OidEstudiante;
        $this->OidServicio = $OidServicio;
    }
    
    function getOid() {
        return $this->Oid;
    }

    function getOidEstudiante() {
        return $this->OidEstudiante;
    }

    function getOidServicio() {
        return $this->OidServicio;
    }

    function setOid($Oid) {
        $this->Oid = $Oid;
    }

    function setOidEstudiante($OidEstudiante) {
        $this->OidEstudiante = $OidEstudiante;
    }

    function setOidServicio($OidServicio) {
        $this->OidServicio = $OidServicio;
    }

    
    function CargarServicios(){
        
        $con = new Conexion();
            
            $Select = "select * from Rec_Dependencias order by NOMBRE asc";
            $Respuesta = $con->query($Select);
            
            while ($Respuesta2 = mssql_fetch_array($Respuesta)){
                
                $Lista[] = array_map(utf8_encode,$Respuesta2);
                
            }
            
            $con->cerrarConexion();
            
            print_r(json_encode($Lista));
        
    }
    
    function RegistrarRotacionEstudiante(){
        
        $con = new Conexion();
        
        //Se valida si el estudiante ya cuanta un registro en el mismo servicio que el usuario esta seleccionando
        $Select = "SELECT COUNT(*) AS RESULTADO
                   FROM Do_ProgramaRotacion
                   WHERE OidEstudiante = ".$this->OidEstudiante." and OidServicio = ".$this->OidServicio;
        $Respuesta = $con->query($Select);
        
        while ($Respuesta2 = mssql_fetch_array($Respuesta)){
            
            $Resultado = $Respuesta2['RESULTADO'];
            
        }
        
        if($Resultado != 0){
            
            print_r(json_encode(array('Respuesta'=>1)));
            
        }else{
            
            $Insert = "INSERT INTO Do_ProgramaRotacion(OidEstudiante,OidServicio)VALUES(".$this->OidEstudiante.",".$this->OidServicio.")";
            $con->query($Insert);


            print_r(json_encode(array('Respuesta'=>2)));
            
        }
        
        $con->cerrarConexion();
        
    }
    
    function CargarRotaciones(){
        
        $con = new Conexion();
        
        $Select = "SELECT C.NOMBRE,LTRIM(RTRIM(B.PrimerNombre))+' '+ LTRIM(RTRIM(B.SegundoNombre))+' '+ LTRIM(RTRIM(B.PrimerApellido))+' '+ LTRIM(RTRIM(B.SegundoApellido)) AS ESTUDIANTE,
                            D.Nombre,A.OidEstudiante,A.OidServicio,A.Oid 
                    FROM Do_ProgramaRotacion AS A INNER JOIN Do_Estudiantes AS B ON A.OidEstudiante = B.Oid
                                                   INNER JOIN Rec_Dependencias AS C ON A.OidServicio = C.OID 
                                                   INNER JOIN Do_Profesion AS D ON B.OidProfesion = D.Oid
                    ORDER BY C.NOMBRE ASC";
        $Respuesta = $con->query($Select);

        while ($Respuesta2 = mssql_fetch_array($Respuesta)){

            $Lista[] = array_map(utf8_encode,$Respuesta2);

        }
        
        
        $con->cerrarConexion();
        
        print_r(json_encode($Lista));
        
    }
    
    function EditarRotacionEstudiante(){
        
        $con = new Conexion();
        
        //Se valida si el estudiante ya cuanta un registro en el mismo servicio que el usuario esta seleccionando
        $Select = "SELECT COUNT(*) AS RESULTADO
                    FROM Do_ProgramaRotacion
                    WHERE OidEstudiante = ".$this->OidEstudiante." and OidServicio = ".$this->OidServicio." and Oid not in(".$this->Oid.")";
        $Respuesta = $con->query($Select);
        
        while ($Respuesta2 = mssql_fetch_array($Respuesta)){
            
            $Resultado = $Respuesta2['RESULTADO'];
            
        }
        
        if($Resultado == 0){
            
            $Update = "UPDATE Do_ProgramaRotacion
                        SET OidEstudiante = ".$this->OidEstudiante.",
                            OidServicio = ".$this->OidServicio."
                        WHERE Oid = ".$this->Oid;
             $con->query($Update);
             
             print_r(json_encode(array('Respuesta'=>1)));
            
        }else{
            
            print_r(json_encode(array('Respuesta'=>2)));
            
        }
        
        
        $con->cerrarConexion();    

        
    }
    
}
